import 'package:flutter/material.dart';

/// TweenAnimationBuilder
/// 通过持续获取区间值改变控件,以达到动画的效果
/// 动画需要注意的参数:
/// 1.时间段
/// 2.变化值
/// TODO:做一个翻滚的计数器
void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Material App',
      home: Scaffold(
        appBar: AppBar(
          title: Text('Material App Bar'),
        ),
        body: TweenAnimationBuilder<double>(
          builder: (BuildContext context, double value, Widget? child) {
            return Center(
                child: Text(
              'hello',
              style: TextStyle(fontSize: value),
            ));
          },
          duration: Duration(seconds: 1),
          // 也可以只写end,表示begin和end相等,只要改变end的值就有builder回调
          // tween: Tween(end: 35),
          tween: Tween(begin: 1, end: 35),
          // 这里的child用来传递给回调函数,不会重新绘制,提高效率
          child: Text('haha'), 
        ),
      ),
    );
  }
}
